節點 | 作用 | 核心設定 |
---|---|---|
Schedule | 每日 02:00 觸發 | Every day → 02:00 |
HTTP Request | 取全部 Workflow 列表 | GET http://localhost:5678/rest/workflows Auth:Username=n8n登入 email;Password=API Key |
Code | 逐一抓 JSON 並組檔 | 直接貼下方 JS |
GitHub | 上傳檔案 | 用 Personal Access Token;File Path:backup/workflows-{{ $moment().format('YYYYMMDD') }}.json |
IF (可選) | 檢查 HTTP 失敗 | Status ≠ 200 → Slack/Email 報錯 |
Code 節點內容(全貼):
const base = 'http://localhost:5678/rest/workflows';
const auth = { user: 'YOUR_EMAIL', pass: 'YOUR_API_KEY' };
let list = await $request({ url: base, method: 'GET', auth });
let files = [];
for (const wf of list.data) {
let full = await $request({ url: `${base}/${wf.id}`, method: 'GET', auth });
files.push({ name: wf.name + '.json', content: full.data });
}
return [{
json: {
path: `backup/workflows-${$moment().format('YYYYMMDD')}.json`,
content: JSON.stringify(files, null, 2)
}
}];
repo
→ 複製。'你的帳號'
'n8n-backups'
(不依賴下拉選單,100% 不會抓不到)
backup/workflows-20251003.json
即產檔成功